package engine;

import java.util.List;
import java.util.Set;

import controller.Manager;
import controller.human.Action;
import controller.human.User;

public interface Statistics2Manager {

	void init(Manager manager);
	void startGame(Set<User> users);
	void logUserChange(Set<User> users);
	
	void startSession();
	void endSession(boolean citizensWin);
	void logAction(User actor, User target, Action action, boolean result);
	
	
	List<Achievement> getSessionAchievements(User user);
	List<Achievement> getGameAchievements(User user);
	List<Achievement> getAllAchievements(User user);

	List<Achievement> getSessionAchievements();
	List<Achievement> getGameAchievements();
	List<Achievement> getAllAchievements();
	int getTotalGameRounds();
        
	void logAchievements(List<Achievement> achievements);

}
